package com.atguigu.spring6.autowired.service;

import com.atguigu.spring6.autowired.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

@Component
public class UserServiceImpl implements UserService {

    // 第一种方式 属性注入
//    @Autowired
//    private UserDao userDao;

    // 第二种方式 SET注入
//    private UserDao userDao;
//    @Autowired
//    public void setUserDao(UserDao userDao) {
//        this.userDao = userDao;
//    }

    // 第三种 构造注入
//    private UserDao userDao;
//    @Autowired
//    public UserServiceImpl(UserDao userDao) {
//        this.userDao = userDao;
//    }

    // 第四种方式 形参注入
//    private UserDao userDao;
//    public UserServiceImpl(@Autowired UserDao userDao) {
//        this.userDao = userDao;
//    }

    // 第五种方式 只有一个有参数的构造，无注解
//    private UserDao userDao;
//    public UserServiceImpl(UserDao userDao) {
//        this.userDao = userDao;
//    }

    // 第六种方式
    @Autowired
    @Qualifier("userRedisDaoImpl")
    private UserDao userDao;

    @Override
    public void addUserService() {
        this.userDao.addUserDao();
        System.out.println("UserServiceImpl.addUserService()");
    }
}
